This invention relates generally to a method and apparatus for arbitrating control of a bus shared by a plurality of processors. More particularly, it relates to a token ring arbitration scheme which uses a 1-bit token to arbitrate between individual chips on the same adapter card.
It is well known in the art to share a data processing resource such as a data bus between a plurality of processors using arbitration to determine which processor has access to the resource at a given time. When arbitration is performed at the card level between a number of VLSI chips, a request/grant, e.g., an Intel 80186/8289 processor or multi-drop, e.g., MicroChannel (.TM.) arbitration or similar scheme is typically used.
While both of these architectures are well adapted for certain situations, they do have several disadvantages. Both of these methods require that either one of the bus members or another processor with logic external to all bus members be designated as the centralized point where the arbitration and error functions for the bus are accomplished. Additional logic external to each processor is also required, particularly to avoid monopolization of the bus by a single processor.
The expansion of the bus to accommodate more processors increases the amount of external arbitration control logic. Also, as the number of bus participants increases, so do the number of I/O channels dedicated to bus arbitration. For example, using the request/grant scheme, the arbitration controller's I/O count increases by two for each additional bus member. Likewise, the number of I/O signals required for the multi-drop arbitration depends on the number of members.
Where the number and type of bus participants are known, it is possible to accommodate the demands of these prior art arbitration techniques. However, when a new processor is being designed for a bus with an indeterminate number and type of bus participants, it would be advantageous to be able to dedicate a fixed, ideally low number of I/O signals to bus arbitration. Further, as the type of bus participants are unknown, it would also be desirable to limit the amount of control that any one processor can exert on the bus or fellow bus participants.